package com.dys;

import java.math.BigDecimal;
import java.sql.*;

/**
 * @className: com.dys.ResultSetTest
 * @description: ResultSet结果集
 * @author: pine cone
 * @version: v1.0.0
 * @createTime: 2024/09/11 下午9:42
 */
public class ResultSetTest {
    /**
     * 这是一个main()方法,是应用程序的入口
     *
     * @param args 方法的形参列表,是一个字符串数组,包含了从命令行传递给程序的参数
     */
    public static void main(String[] args) throws ClassNotFoundException, SQLException {
        // 1.注册驱动
        Class.forName("com.mysql.cj.jdbc.Driver");
        // 2.建立连接
        Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/jdbc_test_db?characterEncoding=utf-8", "root", "pinecone@mysql8");
        // 3.获取Statement
        Statement statement = conn.createStatement();
        // 4.执行查询的SQL语句
        ResultSet res = statement.executeQuery("select * from account");
        // 5.操作ResultSet结果集
        // 5.1 先用ResultSet的一个next方法确认是否有返回的数据
        while (res.next()) {
            // 如果进到while循环，说明有数据
            // 5.2 基于ResultSet提供的get类型方法去获取结果
            int id = res.getInt("id");
            String name = res.getString("name");
            BigDecimal money = res.getBigDecimal("money");
            System.out.println("获取到的数据是：" + "id:" + id + ",name:" + name + ",money:" + money);
        }
        // 到这，说明指针已经到最后了，没有数据了。
        // 6.释放资源
        statement.cancel();
        res.close();
        conn.close();
    }
}
